875. Koko Eating Bananas
思路分析
代码实现
class Solution {
private boolean check(int mid,int[] piles,int h){
int total = 0;
for(int pile:piles){
total += Math.ceil(1.0*pile/mid);
}
return total<=h;
}
public int minEatingSpeed(int[] piles, int h) {
int maxv=0;
for(int pile:piles){
maxv = Math.max(pile, maxv);
}
int l=1,r=maxv;
while(l<r){
int mid = l+r>>1;
if(check(mid,piles,h)){
r=mid;
}else{
l=mid+1;
}
}
return r;
}
}
class Solution {
private boolean check(int mid,int[] piles,int h){
int total = 0;
for(int pile:piles){
total += (pile + mid - 1) / mid;
}
return total<=h;
}
public int minEatingSpeed(int[] piles, int h) {
int maxv=0;
for(int pile:piles){
maxv = Math.max(pile, maxv);
}
int l=1,r=maxv;
while(l<r){
int mid = l+r>>1;
if(check(mid,piles,h)){
r=mid;
}else{
l=mid+1;
}
}
return r;
}
}
同类题型
视频讲解
💬 评论